package com.weng.platform.platform.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.weng.framework.core.exception.GlobalServiceException;
import com.weng.framework.core.model.ResponseData;
import com.weng.platform.platform.entity.Column;
import com.weng.platform.platform.model.vo.ColumnTreeNode;

import java.util.List;


/**
 * 栏目 服务接口
 *
 * @author wenghui
 * @date 2019-11-29 14:48:01
 *
 */
public interface IColumnService extends IService<Column> {

		/*
		 * 通过栏目Id，获取所有子栏目的Id，包括自己的
		 * @param [id]
		 * @return
		 */
		List<String> getAllChildIds(String id);

		/**
		 * 获取树形表格数据
		 * @param name
		 * @param code
		 * @param parentId
		 * @param isExpand
		 * @return
		 * @throws Exception
		 */
		List<ColumnTreeNode> getTreeGridData(String name, String code, String parentId, String isExpand, String type, String ownerId);

		/*
		 * 根据编码查找栏目
		 * @param [code]
		 * @return
		 */
		Column  findByCode(String code);

		/**
		 * 新建单个
		 */
		Column add(Column column) throws GlobalServiceException;


		/**
		 * 更新
		 */
		int update(Column column) throws GlobalServiceException;


		/**
		 * 删除
		 */
		public ResponseData removeByIds(String ids);

		/**
		 *  列表查询base
		 *  <p>
		 *      自定义列表查询：需实现定制化业务，组合查询，多分页查询等
		 */
		IPage<Column> list(Integer pageNo, Integer pageSize, String ownerId);

}
